You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

12345678910111213141516171819202122232425262728293031
  1. import NextAuth from 'next-auth';
  2. import Credentials from 'next-auth/providers/credentials';
  3. import dbConnect from '../../../utils/helpers/dbHelpers';
  4. const User = require('../../../models/user');
  5. export default NextAuth({
  6. session: {
  7. jwt: true,
  8. },
  9. callbacks: {
  10. async jwt({ token, user }) {
  11. return { ...token, ...user };
  12. },
  13. async session({ token }) {
  14. return token;
  15. },
  16. },
  17. providers: [
  18. Credentials({
  19. async authorize(credentials) {
  20. await dbConnect();
  21. const userData = await User.findByCredentials(
  22. credentials.username,
  23. credentials.password
  24. );
  25. return { user: userData };
  26. },
  27. }),
  28. ],
  29. });